import {config} from '../config.js' // 引入配置项
const tips = {
  1: '抱歉，出现了一个错误', // 默认错误
  2: '网络异常', // 断网情况处理
  1005: 'appkey无效',
  3000: '期刊不存在'
}
class HTTP{
  request(params) {
    wx.request({
      url: config.api_base_url + params.url,
      method: params.method,
      data: params.data,
      header: {
        'content-type': 'application/json',
        'appkey': config.appkey
      },
      success: (res) => {
        // startsWith
        // endsWith
        let code = res.statusCode.toString()
        if (code.startsWith('2')) {
          params.success && params.success(res.data) // 当params.success有值，再执行后边代码
        } else { // 异常处理
          let error_code = res.data.error_code
          this._show_error(error_code)
        }
      },
      fail: (err) => { // 调用失败
        this._show_error(2)
      }
    })
  }

  // 名字前边加下划线，项目里代表私有方法，不要在外边再去调用此方法
  _show_error(error_code) {
    if(!error_code) { // error_code不存在时，异常处理
      error_code = 1
    }
    const tip = tips[error_code]
    wx.showToast({
      title: tip ? tip : tips[1],
      icon: 'none',
      duration: 2000
    })
  }
}

export {HTTP} // 导出类